#!/bin/bash

############################################################
#                    DISTRIBUTION SETTINGS                 #
############################################################

# Distribution name
# Options: Debian: bookworm | Ubuntu: jammy, noble
DISTRIBUTION="bookworm"

# Distribution architecture (Debian only)
# Options: amd64, i386, i386-pae
DISTRIBUTION_ARCH="amd64"

# Desktop environment
# Options: core, flux, xfce, xfce-ultra, xfce-puzzle, xfce-puzzle-base, lxqt, devel
DESKTOP_ENVIRONMENT="xfce"

# System variant (defines the list of packages used in modules)
# Options: minimum, standard, toolbox, ultra, puzzle
PACKAGE_VARIANT="standard"

# Compression type
# Options: xz, lzo, gz, lz4, zstd
COMP_TYPE="zstd"


############################################################
#                      KERNEL SETTINGS                     #
############################################################

# Kernel type
# Options: none, default, rt, cloud
KERNEL_TYPE="default"

# Use Linux kernel from backports
# Options: true, false
KERNEL_BPO="false"

# Kernel with AUFS support
# Options: true, false
KERNEL_AUFS="true"

# Compile additional drivers for wireless network adapters during kernel installation
# Options: true, false
KERNEL_BUILD_DKMS="true"

# Indicate the kernel version in the names of initrfs.img and vmlinuz
# Options: true, false
NAMED_BOOT_FILES="false"

# Copy initrfs.img and vmlinuz to the kernel folder during kernel installation
# Options: true, false
EXPORT_KERNEL="true"

# Move initrfs.img and vmlinuz to the kernel folder during kernel installation
# Options: true, false
MOVE_KERNEL="false"

# Create a log folder on the media for system startup logs
# Options: true, false
EXPORT_LOGS="false"


############################################################
#                 LOCALE & TIMEZONE SETTINGS               #
############################################################

# System locale
# Options: en_US, ru_RU, es_ES, pt_BR
LOCALE="en_US"

# Generate locales for multiple languages as defined in the LOCALES variable in minioslib
# Options: true, false
MULTILINGUAL="false"

# Retain all available locales or only those specified in the LOCALES variable of minioslib
# Options: true, false
KEEP_ALL_LOCALES="false"

# Timezone setting
# The system will automatically detect and set the timezone based on your location if you have Internet access.
# Format: [any timezone]
TIMEZONE="Etc/UTC"


############################################################
#                    minios.conf SETTINGS                  #
############################################################

# Username for the system
USER_NAME="live"

# User password for the system
USER_PASSWORD="evil"

# Root password for the system
ROOT_PASSWORD="toor"

# Default systemd target
# Options: graphical, multi-user
DEFAULT_TARGET="graphical"

# Enable services (list of services to enable)
ENABLE_SERVICES=""

# Disable services (list of services to disable)
DISABLE_SERVICES=""

# Enable or disable scripts
# Options: true, false
SCRIPTS="false"

# Enable or disable autologin
# Options: true, false
AUTOLOGIN="true"

# File name in the minios folder where the system will look for the SSH public key
# Format: [any file name]
SSH_KEY="authorized_keys"

# Enable or disable cloud support
# Options: true, false
CLOUD="false"

# Hide credentials displayed as hints in the console
# Options: true, false
HIDE_CREDENTIALS="false"

# Specify when to create and configure the user and their home folder
# Options: systemd, initrd
USER_SETUP="systemd"

# Link user directories to external media with desktop.ini for proper Windows localization
# Options: true, false
LINK_USER_DIRS="false"


############################################################
#                     BUILDER SETTINGS                     #
############################################################

# Create a secondary ISO with a constant filename
# Options: true, false
BUILD_TEST_ISO="true"

# Remove old ISO files for this build type
# Options: true, false
REMOVE_OLD_ISO="true"

# Debian frontend type
# Options: noninteractive, dialog, text
DEBIAN_FRONTEND_TYPE="noninteractive"

# Union type used to build the system
# Options: aufs, overlayfs
UNION_BUILD_TYPE="overlayfs"

# Name assigned to the ISO when building minios-live
SYSTEMNAME="MiniOS"

# Use a pre-made rootfs file during installation
# Options: true, false
USE_ROOTFS="true"

# Skip installation of packages required for the build
# Options: true, false
SKIP_SETUP_HOST="false"

# Remove sources after building
# Options: true, false
REMOVE_SOURCES="false"

# Remove dpkg base from the module
# Options: true, false
REMOVE_DPKG_DB="false"

# Include only kernel modules
# Options: true, false
KERNEL_MODULES_ONLY="true"

# Remove large icons from the build
# Options: true, false
REMOVE_LARGE_ICONS="true"

# Set the maximum level for building modules
# Options: true, false
FILTER_MODULES="false"

# Modules filter level
# Format: [0, 1, 2, 3, 4...]
FILTER_LEVEL="3"

# Build from snapshot
# Options: true, false
BUILD_FROM_SNAPSHOT="false"

# Snapshot date for the build
# Format: YYYYMMDDTHHMMSSZ
SNAPSHOT_DATE="20220630T090257Z"
